<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>

<portlet:defineObjects />

<c:set var="namespace" value="${renderResponse.namespace}"/>

<link type="text/css" rel="stylesheet" href="${renderRequest.contextPath}/css/facturacion.css"/>

<link type="text/css" rel="stylesheet" href="${renderRequest.contextPath}/calendar/dhtmlxcalendar.css" />
<link type="text/css" rel="stylesheet" href="${renderRequest.contextPath}/calendar/skins/dhtmlxcalendar_dhx_web.css" />
<script type="text/javascript" src="${renderRequest.contextPath}/calendar/dhtmlxcalendar.js"></script>

<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>

<div id="facturacion_fancy" class="facturacion_fancy">
 <div class="facturacion_fancy_main">
  <br/><br/>
  <div>
   <div>
    <form name="${renderResponse.namespace}formularioFacturacion" method="POST" action="<portlet:actionURL/>">
     <input type="hidden" name="accion"/>
     
     <table class="tablatitulo">
      <tr>
       <td>
        <strong>
         <spring:message code="rimac.consulta.documentos.titulo"/>
        </strong>
       </td>
      </tr>
     </table>
     
     <table width="100%" style="margin-bottom: 20px;">
      <tr style="line-height: 20px;">
       <td>
        <table>
	     <tr>
	      <td style="width: 2%; vertical-align: middle;">&nbsp;</td>
	      <td style="width: 10%; vertical-align: middle;">
	       <strong>
	        <spring:message code="rimac.consulta.documentos.empresa"/>
	       </strong>
	      </td>
	      <td>
	       <select name="empresa" id="${renderResponse.namespace}empresa" name="empresa">
	        <option value="01">Rimac Seguros</option>
	       </select>
	      </td>
	     </tr>
	     <tr style="line-height: 40px;">
	      <td style="width: 2%; vertical-align: middle;">
	       <input type="radio" id="${renderResponse.namespace}tipobusqueda" name="tipobusqueda" value="1" 
	       		  onclick="javascript:${renderResponse.namespace}habilitarBusqueda(this.value);">
	      </td>
	      <td style="width: 10%; vertical-align: middle;">
	       <strong>
	        <spring:message code="rimac.consulta.documentos.fechaemision"/>
	       </strong>
	      </td>
	      <td style="width: 20%; vertical-align: middle;">
	       <table>
	        <tr>
	         <td style="width: 15%;vertical-align: middle;">
	          <strong>
	           <spring:message code="rimac.consulta.documentos.fechaemision.desde"/>
	          </strong>
	          </td>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}fechadesde" name="fechadesde" disabled="disabled"/>
	         </td>
	         <td style="width: 15%;vertical-align: middle;">
	          <strong>
	           <spring:message code="rimac.consulta.documentos.fechaemision.hasta"/>
	          </strong>
	         </td>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}fechahasta" name="fechahasta" disabled="disabled"/>
	         </td>
	        </tr>
	       </table>
	      </td>
	     </tr>
	     <tr style="line-height: 20px;">
	      <td style="width: 2%; vertical-align: middle;">
	       <input type="radio" id="${renderResponse.namespace}tipobusqueda" name="tipobusqueda" value="2" 
	       		  onclick="javascript:${renderResponse.namespace}habilitarBusqueda(this.value);">
	      </td>
	      <td style="width: 10%; vertical-align: middle;">
	       <strong>
	        <spring:message code="rimac.consulta.documentos.documentosunat"/>
	       </strong>
	      </td>
	      <td style="width: 20%; vertical-align: middle;">
	       <table>
	        <tr>
	         <td style="vertical-align: middle;">
	          <select id="${renderResponse.namespace}tipodocumentosunat" name="tipodocumentosunat" disabled="disabled">
	           <option value="FA"><spring:message code="rimac.consulta.documentos.documentosunat.factura"/></option>
	           <option value="BV"><spring:message code="rimac.consulta.documentos.documentosunat.boletaventa"/></option>
	           <option value="NC"><spring:message code="rimac.consulta.documentos.documentosunat.notadebito"/></option>
	           <option value="NA"><spring:message code="rimac.consulta.documentos.documentosunat.notacredito"/></option>
	          </select>
	         </td>
	         <td style="vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}seriedocumentosunat" name="seriedocumentosunat" disabled="disabled"/>
	         </td>
	         <td style="vertical-align: middle;" align="center">
	          -
	         </td>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}numerodocumentosunat" name="numerodocumentosunat" disabled="disabled"/>
	         </td>
	        </tr>
	       </table>
	      </td>
	     </tr>
	     <tr style="line-height: 40px;">
	      <td style="width: 2%; vertical-align: middle;">
	       <input type="radio" id="${renderResponse.namespace}tipobusqueda" name="tipobusqueda" value="3" 
	       		  onclick="javascript:${renderResponse.namespace}habilitarBusqueda(this.value);">
	      </td>
	      <td style="width: 10%; vertical-align: middle;">
	       <strong>
	        <spring:message code="rimac.consulta.documentos.producto"/>
	       </strong>
	      </td>
	      <td style="width: 20%; vertical-align: middle;">
	       <table>
	        <tr>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}producto" name="producto" disabled="disabled"/>
	         </td>
	         <td style="vertical-align: middle;" align="center">
	          -
	         </td>
	         <td style="vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          	     id="${renderResponse.namespace}poliza" name="poliza" disabled="disabled"/>
	         </td>
	        </tr>
	       </table>
	      </td>
	     </tr>
	     <tr style="line-height: 20px;">
	      <td style="width: 2%; vertical-align: middle;">&nbsp;</td>
	      <td style="width: 10%; vertical-align: middle;">&nbsp;</td>
	      <td style="width: 20%; vertical-align: middle;">
	       <table>
	        <tr>
	         <td style="width: 15%;vertical-align: middle;">
	          <strong>
	           <spring:message code="rimac.consulta.documentos.fechaemision.desde"/>
	          </strong>
	          </td>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}productofechadesde" name="productofechadesde" disabled="disabled"/>
	         </td>
	         <td style="width: 15%;vertical-align: middle;">
	          <strong>
	           <spring:message code="rimac.consulta.documentos.fechaemision.hasta"/>
	          </strong>
	         </td>
	         <td style="width: 25%;vertical-align: middle;">
	          <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	          		 id="${renderResponse.namespace}productofechahasta" name="productofechahasta" disabled="disabled"/>
	         </td>
	        </tr>
	       </table>
	      </td>
	     </tr>
	     <tr style="line-height: 40px;">
	      <td style="width: 2%; vertical-align: middle;">
	       <input type="radio" id="${renderResponse.namespace}tipobusqueda" name="tipobusqueda" value="4" 
	       		  onclick="javascript:${renderResponse.namespace}habilitarBusqueda(this.value);">
	      </td>
	      <td style="width: 10%; vertical-align: middle;">
	       <strong>
	        <spring:message code="rimac.consulta.documentos.documentocobro"/>
	       </strong>
	      </td>
	      <td style="vertical-align: middle;">
	       <input type="text" size="10" style="font: 1em 'Trebuchet MS',Arial,Verdana,Helvetica,sans-serif;" 
	       		  id="${renderResponse.namespace}documentocobro" name="documentocobro" disabled="disabled"/>
	      </td>
	     </tr>
        </table>
       </td>
       <td>
        <table>
         <tr>
          <td style="vertical-align: middle;" align="center">
           <input type="button" id="${renderResponse.namespace}botonBuscar" name="botonBuscar" value="Buscar" 
           		  onclick="javascript:${renderResponse.namespace}validar();" disabled="disabled"/>
          </td>
         </tr>
         <tr>
          <td style="vertical-align: middle;" align="center">
           <input type="button" id="${renderResponse.namespace}botonLimpiar" name="botonLimpiar" value="Limpiar" 
           		  onclick="javascript:${renderResponse.namespace}reset();"/>
          </td>
         </tr>
        </table>
       </td>
      </tr>
     </table>
     
     <c:if test="${esError}">
      <table class="tablamensajes">
       <tr>
        <td align="center">
         <strong>
          <spring:message code="${codigoError}"/>
         </strong>
        </td>
       </tr>
      </table>     
     </c:if>
	 
	 <div id="${renderResponse.namespace}resultados">
	  <c:choose>
	   <c:when test="${not empty facturas}">
	    <jsp:include page="facturacion_resultados.jsp"/>
	   </c:when>
	   <c:otherwise>
	    <c:if test="${sinResultados}">
 	     <table class="tablamensajes">
   	      <tr>
    	   <td align="center">
     	    <strong>
     	     <spring:message code="rimac.consulta.documentos.resultados.vacio"/>
     	    </strong>
    	   </td>
   		  </tr>
  		 </table>
	    </c:if> 
	   </c:otherwise>
	  </c:choose>
	 </div>
     
    </form>
   </div>
  </div>
 </div>
</div>

<script>
var POR_FECHA = 1;
var DOCUMENTO_SUNAT = 2;
var PRODUCTO = 3;
var DOCUMENTO_COBRO = 4;

function ${renderResponse.namespace}habilitarBusqueda(tipo)
{
 ${renderResponse.namespace}deshabilitarTodo();
	 
 document.getElementById('${renderResponse.namespace}botonBuscar').disabled=false;
	 
 if(POR_FECHA == tipo)
 {
  document.getElementById('${renderResponse.namespace}fechadesde').disabled=false;
  document.getElementById('${renderResponse.namespace}fechahasta').disabled=false;
 }
 else if(DOCUMENTO_SUNAT == tipo)
 {
  document.getElementById('${renderResponse.namespace}tipodocumentosunat').disabled=false;
  document.getElementById('${renderResponse.namespace}seriedocumentosunat').disabled=false;
  document.getElementById('${renderResponse.namespace}numerodocumentosunat').disabled=false;
 }
 else if(PRODUCTO == tipo)
 {
  document.getElementById('${renderResponse.namespace}productofechadesde').disabled=false;
  document.getElementById('${renderResponse.namespace}productofechahasta').disabled=false;
  document.getElementById('${renderResponse.namespace}producto').disabled=false;
  document.getElementById('${renderResponse.namespace}poliza').disabled=false;
 }
 else if(DOCUMENTO_COBRO == tipo)
 {
  document.getElementById('${renderResponse.namespace}documentocobro').disabled=false;
 }
}
 
function ${renderResponse.namespace}deshabilitarTodo()
{
 document.getElementById('${renderResponse.namespace}fechadesde').disabled=true;
 document.getElementById('${renderResponse.namespace}fechahasta').disabled=true;
 document.getElementById('${renderResponse.namespace}tipodocumentosunat').disabled=true;
 document.getElementById('${renderResponse.namespace}seriedocumentosunat').disabled=true;
 document.getElementById('${renderResponse.namespace}numerodocumentosunat').disabled=true;
 document.getElementById('${renderResponse.namespace}productofechadesde').disabled=true;
 document.getElementById('${renderResponse.namespace}productofechahasta').disabled=true;
 document.getElementById('${renderResponse.namespace}producto').disabled=true;
 document.getElementById('${renderResponse.namespace}poliza').disabled=true;
 document.getElementById('${renderResponse.namespace}documentocobro').disabled=true;
}
 
function ${renderResponse.namespace}reset()
{
 var radios = document.getElementsByName('tipobusqueda');
 for(var i = 0; i < radios.length; i++)
 {
  radios[i].checked = false;	 
 }
 document.getElementById('${renderResponse.namespace}fechadesde').value='';
 document.getElementById('${renderResponse.namespace}fechahasta').value='';
 document.getElementById('${renderResponse.namespace}tipodocumentosunat').disabled=true;
 document.getElementById('${renderResponse.namespace}seriedocumentosunat').value='';
 document.getElementById('${renderResponse.namespace}numerodocumentosunat').value='';
 document.getElementById('${renderResponse.namespace}productofechadesde').value='';
 document.getElementById('${renderResponse.namespace}productofechahasta').value='';
 document.getElementById('${renderResponse.namespace}producto').value='';
 document.getElementById('${renderResponse.namespace}poliza').value='';
 document.getElementById('${renderResponse.namespace}documentocobro').value='';
 ${renderResponse.namespace}deshabilitarTodo();
}
 
function ${renderResponse.namespace}validar()
{
 var tipobusqueda;
 var radios = document.getElementsByName('tipobusqueda');
 for(var i = 0; i < radios.length; i++)
 {
  if(radios[i].checked)
  {
   tipobusqueda = radios[i].value;
  }
 }
	 
 if(POR_FECHA == tipobusqueda)
 {
  ${renderResponse.namespace}validarFechas();	 
 }
 else if(DOCUMENTO_SUNAT == tipobusqueda)
 {
  ${renderResponse.namespace}validarDocumentoSUNAT();
 }
 else if(PRODUCTO == tipobusqueda)
 {
  ${renderResponse.namespace}validarProducto();
 }
 else if(DOCUMENTO_COBRO == tipobusqueda)
 {
  ${renderResponse.namespace}validarDocumentoCobro();
 }
}
 
function ${renderResponse.namespace}validarFechas()
{
 var from = document.getElementById('${renderResponse.namespace}fechadesde').value;
 var to = document.getElementById('${renderResponse.namespace}fechahasta').value;
	 
 if(${renderResponse.namespace}isEmpty(from) || ${renderResponse.namespace}isEmpty(to))
 {
  alert("Debe seleccionar un rango de fechas para la busqueda.");
  return;
 }
 else
 {
  if(${renderResponse.namespace}fechasValidas('${renderResponse.namespace}fechadesde', '${renderResponse.namespace}fechahasta'))
  {
   ${renderResponse.namespace}submit("buscar");
  }
  else
  {
   alert("El maximo de busqueda por fechas es de 30 dias.");
  }
 }
}
 
function ${renderResponse.namespace}validarDocumentoSUNAT()
{
 var tipodocumento = document.getElementById('${renderResponse.namespace}tipodocumentosunat').value;
 var seriedocumento = document.getElementById('${renderResponse.namespace}seriedocumentosunat').value;
 var numerodocumento = document.getElementById('${renderResponse.namespace}numerodocumentosunat').value;
	 
 if(${renderResponse.namespace}isEmpty(tipodocumento) || ${renderResponse.namespace}isEmpty(seriedocumento)
		 || ${renderResponse.namespace}isEmpty(numerodocumento))
 {
  alert("Debe ingresar todos los datos del documento a consultar.");
 }
 else
 {
  ${renderResponse.namespace}submit("buscar");
 }
}
 
function ${renderResponse.namespace}validarProducto()
{
 var from = document.getElementById('${renderResponse.namespace}productofechadesde').value;
 var to = document.getElementById('${renderResponse.namespace}productofechahasta').value;
 var producto = document.getElementById('${renderResponse.namespace}producto').value;
 var poliza = document.getElementById('${renderResponse.namespace}producto').value;
	 
 if(${renderResponse.namespace}isEmpty(producto) || ${renderResponse.namespace}isEmpty(poliza) 
		 || ${renderResponse.namespace}isEmpty(from) || ${renderResponse.namespace}isEmpty(to))
 {
  alert("Debe ingresar las fechas y datos del producto.");
 }
 else
 {
  if(${renderResponse.namespace}fechasValidas('${renderResponse.namespace}productofechadesde', '${renderResponse.namespace}productofechahasta'))
  {
   ${renderResponse.namespace}submit("buscar");
  }
  else
  {
   alert("El maximo de busqueda es de 30 dias.");
  }
 }
}
 
function ${renderResponse.namespace}validarDocumentoCobro()
{
 var documentocobro = document.getElementById('${renderResponse.namespace}documentocobro').value;
	 
 if(${renderResponse.namespace}isEmpty(documentocobro))
 {
  alert("Debe ingresar el numero de documento de cobro.");
 }
 else
 {
  ${renderResponse.namespace}submit("buscar");
 }
}
 
function ${renderResponse.namespace}fechasValidas(from, to)
{
 var from = document.getElementById(from).value.split("/");
 var to = document.getElementById(to).value.split("/");
	 
 var f = new Date(from[2], from[1], from[0]);
 var t = new Date(to[2], to[1], to[0]);
	 
 // milliseconds
 var one_day = 1000*60*60*24;
	 
 // difference milliseconds
 var diff = t.getTime() - f.getTime();
	 
 // convert to days
 var daysbetween = Math.round(diff/one_day);
	 
 return daysbetween <= 30;
}
 
function ${renderResponse.namespace}isEmpty(str) 
{
 return (!str || 0 === str.length);
}
 
function ${renderResponse.namespace}submit(value)
{
 document.${renderResponse.namespace}formularioFacturacion.accion.value = value;
 document.${renderResponse.namespace}formularioFacturacion.submit();
}
 
$(document).ready
(
 function() 
 {
  ${renderResponse.namespace}cargarCalendarios();
 }
);
 
dhtmlXCalendarObject.prototype.langData["es"] = 
{
  monthesFNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"],
  monthesSNames: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Dic"],
  daysFNames: ["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"],
  daysSNames: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
  weekstart: 1
}
 
var calendarFrom, calendarTo, calendarProductoFrom, calendarProductoTo;
function ${renderResponse.namespace}cargarCalendarios()
{
 calendarFrom = new dhtmlXCalendarObject("${renderResponse.namespace}fechadesde");
 calendarFrom.loadUserLanguage("es");
 calendarFrom.setDateFormat("%d/%m/%Y");
 calendarFrom.setSkin('dhx_web');
 calendarFrom.hideTime();
	 
 calendarTo = new dhtmlXCalendarObject("${renderResponse.namespace}fechahasta");
 calendarTo.loadUserLanguage("es");
 calendarTo.setDateFormat("%d/%m/%Y");
 calendarTo.setSkin('dhx_web');
 calendarTo.hideTime();
	 
 calendarProductoFrom = new dhtmlXCalendarObject("${renderResponse.namespace}productofechadesde");
 calendarProductoFrom.loadUserLanguage("es");
 calendarProductoFrom.setDateFormat("%d/%m/%Y");
 calendarProductoFrom.setSkin('dhx_web');
 calendarProductoFrom.hideTime();
	 
 calendarProductoTo = new dhtmlXCalendarObject("${renderResponse.namespace}productofechahasta");
 calendarProductoTo.loadUserLanguage("es");
 calendarProductoTo.setDateFormat("%d/%m/%Y");
 calendarProductoTo.setSkin('dhx_web');
 calendarProductoTo.hideTime();
}

function ${renderResponse.namespace}invoke(_url)
{
 $.ajax
 (
  {
   type: "GET",
   url: _url,
   success: function(response) 
   {
	$('#${renderResponse.namespace}resultados').html(response);
   }
  }
 );
}
</script>